﻿//Auktionshus projekt, DM10X2, Anders Østergaard, Jesper Larsen og Mads Jakobsen, 19.9.2011

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Net.Sockets;
using System.Net;
using System.IO;
using System.Threading;

namespace Auktion
{
    public class StartServer
    {
        ServerMonitor ServMon;        
        AuktionsMonitor aukMon;
        int portnr = 0;
        private bool Lyt = false;

        public StartServer(int port, ServerMonitor servMonitor, AuktionsMonitor aukm)
        {
            portnr = port;
            this.ServMon = servMonitor;
            this.aukMon = aukm;
        }
        public void LavServer()
        {
            TcpListener listener = new TcpListener(IPAddress.Any, portnr); //lytter på indkomne

            listener.Start(); //starter
            while (Lyt == false)
            {
                //System.Console.WriteLine("Server klar");
                Socket clientSocket = listener.AcceptSocket(); //lytter efter klient

                //System.Console.WriteLine("Klinet tilkoblet");
                KlientTråd handler = new KlientTråd(clientSocket, ServMon, aukMon); 
                //				handler.RunClient();		// Kun een af gangen

                // Her sættes op til af behandling foregår parallel
                // så der kan fortsættes med en ny
                Thread clientTråd = new Thread(handler.LavKlient);  //laver klienten i en tråd
                clientTråd.Start(); 
                clientTråd.IsBackground = true;
            }
        }

        public void StopSignal()
        {
            Lyt = true;
        }

    }
}
